import Vue from 'vue'
import App from './App.vue'
// 引入配置好的路由器,记住此处的router用小写
import router from './router'
// 引入vuex的store仓库属性
import store from './store'
// 引入分页全局组件
import Pagination from '@/components/pagination'
// 注册三级组件 
import TypeNav from './components/TypeNav'
// 第一个参数：全局组件的名字 第二个参数：哪一个组件
Vue.component(TypeNav.name, TypeNav)
// 引入轮播图公共组件
import Carousel from '@/components/Carousel'

// import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// Vue.use(ElementUI);

import { MessageBox,Button } from 'element-ui'
// 注册轮播图公共组件为全局组件
// 第一个为组件名，第二个为哪一个组件

// 第一种方法注册全局组件
Vue.component(Button.name,Button)

// element的引入的第二种方法，挂载到原型上
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;
Vue.component(Carousel.name, Carousel)
// 注册分组件为全局组件
Vue.component(Pagination.name,Pagination)

// 映入mokeServer.js，让他执行
import '@/mock/mockServer'
import 'swiper/css/swiper.css'

// 统一接口api文件夹里面的全部请求函数
// 统一引入
import * as API from '@/api';

// import {reqGetSearchInfo} from '@/api/index'
// console.log(reqGetSearchInfo({}));
Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  // 配置全局事件总线
  beforeCreate(){
    Vue.prototype.$bus = this;
    Vue.prototype.$API = API;
  },
  // 注册路由器：底下的路由器是KV一直省略V
  router,
  // 注册仓库：组件实例对象会多了一个属性$store属性
  store
}).$mount('#app')
